package com.quanyan.orderpay.service;

import com.quanyan.api.APIResponse;
import com.quanyan.common.Plugin.PageObj;
import com.quanyan.order.entity.Order;
import com.quanyan.order.vo.PlatformOrderQueryPageObj;
import com.quanyan.order.vo.PlatformOrderQueryRespVo;
import com.quanyan.order.entity.PlatformOrderQueryParamsVo;
import com.quanyan.orderpay.vo.request.QueryOrderParamsVo;
import com.quanyan.orderpay.vo.request.QueryRefundParamsVo;
import com.quanyan.orderpay.vo.request.UpdateRefundStatusParamsVo;
import com.quanyan.pay.entity.RefundRecord;

import java.util.List;

/**
 * Created by Zheng.Ke
 * Date 2016/8/15.
 */
public interface AdminOrderService {
    /**
     * 查询订单
     * @param paramsVo
     * @return
     */
    APIResponse<PageObj<List<Order>>> queryOrder(QueryOrderParamsVo paramsVo);

    /**
     * 查询退款记录
     * @param paramsVo
     * @return
     */
    APIResponse<PageObj<List<RefundRecord>>> refundList(QueryRefundParamsVo paramsVo);

    /**
     * 更新退款状态（只能修改需要人工干预的退款）
     * @param paramsVo
     * @return
     */
    APIResponse<RefundRecord> updateRefundStatus(UpdateRefundStatusParamsVo paramsVo);

    /**
     * 平台订单列表
     * @param paramsVo
     * @return
     */
    APIResponse<PlatformOrderQueryPageObj<List<PlatformOrderQueryRespVo>>> platformOrderQueryList(PlatformOrderQueryParamsVo paramsVo);
}
